// pages/member/cancel.js
import {cancelMember, cancelDetail} from '../../api/member.js';
import {orderPay, createOrder} from "../../api/order";
import Util from '../../utils/util.js';
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    cancelDetail({}).then(res=>{
      this.setData({
        price:res.data.price,
        day:res.data.day
      })
    })
  },

  cancelConfirm(e){
    this.setData({
      logoutEpDialog1: true,
      tipData: {
        title: "注销确认",
        content: '注销后'+ this.data.day +'天之内不可恢复，如需恢复需要支付'+ this.data.price +'元，确认注销吗？',
        type: "t1",
        cancelTxt: '确定',
        confirmClass:"",
        confirmReturn:true,
        confirmTxt: '取消',
      }
    })
  },
  cancelTip(e){
    if( !Util.isEmpty(e.detail.data) &&e.detail.data.type == 'again'){
      //再次取消
      return ;
    }
    this.setData({
      logoutEpDialog1: false
    })
    this.setData({
      logoutEpDialog1: true,
      tipData: {
        title: "再次注销确认",
        content: '注销期你的信息将匿名化处理，资料无法被访问！你的账号及资料将在30天后清空，无法恢复，如果30天内反悔，可恢复账号。',
        type: "t1",
        confirmClass:" ",
        confirmReturn:true,
        confirmTxt: '确定',
        cancelTxt: '取消',
        cancelClass: "weui-btn__main",
        data: {
          type: "again" //再次确认/取消标识
        }
      }
    })
  },
    confirmTip(e){
      if( !Util.isEmpty(e.detail.data) && e.detail.data.type == 'again'){
        // 再次确定
        cancelMember({ cancel: 0 })
        .then( res => {
          let userInfo = app.globalData.userInfo || {}
          userInfo.cancel = 0

          wx.setStorageSync('USERINFO', JSON.stringify(userInfo))
          app.globalData.userInfo.cancel = 0;

          return app.Tips({
            title: res.msg,
            icon: "success"
          }, {
            tab: 5,
            url: "recover"
          })
        }).catch( errmsg => {
          if(errmsg.status == 1){
            //走支付流程
            Util.showModelTip(errmsg.msg, '注销提示', '去支付').then(result => {
              if(result.confirm){
                console.log('生成支付订单')
                this.createOrder();
              }
            })
          }
          return app.Tips({ title: errmsg })
        })
        return ;
    }
  },

  createOrder(e) {
    const that = this;

    wx.showLoading({
      title: "去支付..."
    })
    createOrder({
      type: "cancel",
    }).then(result => {
      const out_trade_no = result.data.out_trade_no
      if (out_trade_no) {
        orderPay({order_id: out_trade_no})
          .then(res => {
            let data = res.data
            wx.requestPayment({
              'timeStamp': data.timeStamp,
              'nonceStr': data.nonceStr,
              'package': data.package,
              'signType': 'MD5',
              'paySign': data.paySign,
              success: function (res) {
                wx.hideLoading()
                let userInfo = app.globalData.userInfo || {}
                userInfo.cancel = 1
                wx.setStorageSync('USERINFO', JSON.stringify(userInfo))
                app.globalData.userInfo.cancel = 1;
                return app.Tips({
                  title: '支付成功',
                  icon: "success"
                }, {
                  tab: 4,
                  url: "/pages/elect-pool/my"
                })
              },
              fail: function (res) {
                wx.hideLoading()
                app.Tips({title: "取消成功", icon: "success"})
              }
            })
          }).catch(errmsg => {
          wx.hideLoading()
          app.Tips({title: errmsg})
        })
      }
    }).catch(errmsg => {
      wx.hideLoading()
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})